﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL.DataSourceInterface;
using DAL.Entities;
using DAL.DataSourceImplementation.DataSourceDB;

namespace DAL.DataSourceImplementation
{
    public class TipoPersonaDAO : ITipoPersonaDAO
    {
        //Variable para almacenar el nombre de la conexión
        private static string connName;

        /// <summary>
        /// Constructor que recibe la llave de conexión desde el data access
        /// </summary>
        /// <param name="_connName">Nombre de la llave de conexion</param>
        public TipoPersonaDAO(string _connName)
        {
            connName = _connName;
        }

        #region Métodos
            public List<TipoPersona> GetAll()
            {
                List <TipoPersona> tipoPersonaList = new List<TipoPersona>();

                //Se abre el contexto de la base de datos
                using (PublicaTuPropiedadDB db = new PublicaTuPropiedadDB(connName))
                {
                    tipoPersonaList = db.TipoPersona.ToList();
                }
                return tipoPersonaList;
            }   

            public void Create(TipoPersona tipoPersona)
            {
                //Se abre el contexto de la base de datos
                using (PublicaTuPropiedadDB db = new PublicaTuPropiedadDB(connName))
                {
                    db.TipoPersona.Add(tipoPersona);
                    db.SaveChanges();
                }
            }
        #endregion
    }
}
